Implementers of web portal or web portlet (simply referred to as portals and portlets) based solutions attempt to guide users through a well-defined sequence of screens. These sequences route users along paths that interconnect user interface (UI) artifacts (e.g. forms, masks, etc.) that allow users to easily accomplish particular tasks. Users are relieved from thinking about the right order of navigation and processing of screens.
Traditionally, a portal is a whole site—a single point of access to various pages that providing resources called portlets. The layout of pages is highly customizable. The whole screen flow, and a transition, may be between two portlets residing on the same page, as well as between two portlets residing on different pages. The user will be forwarded to the page that is associated with the target (portlet) of the interaction. Traditionally, each information source gets its dedicated area on the page for displaying information (a portlet); often, the user can configure which portlets to display. Examples of portals include intranet “dashboards” for executives and managers. The extent to which content is displayed in a “uniform way” may depend on the intended user and the intended purpose, as well as the diversity of the content. Traditionally, design emphasis is on a certain “metaphor” for configuring and customizing the presentation of the content and the chosen implementation framework and/or code libraries. In addition, the role of the user in an organization may determine which content can be added to the portal or deleted from the portal configuration.
Portlets are pluggable user interface software components that are managed and displayed in a web portal. Portlets produce fragments of markup code that are aggregated into a portal. Typically, following the desktop metaphor, a portal page is displayed as a collection of non-overlapping portlet windows, where each portlet window displays a portlet. Hence a portlet (or collection of portlets) resembles a web-based application that is hosted in a portal. Some examples of portlet applications are email, weather reports, discussion forums, and news.
When developing portal based solutions, screens are usually provided by portlets. Moreover, the mapping of individual screens to portlets is often not trivial, since it has impact on both user experience as well as reusability. On one extreme, implementers can decide to let one single portlet provide all necessary screens; conversely, implementers can decide to develop one dedicated portlet for each of these screens and thus, for each single function required to accomplish a particular task.